<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Usuario extends MY_Controller {

	public function __construct()
	{
		parent::__construct();
	}

	public function index()
	{
		redirect('usuario/listar');
	}

	public function listar()
	{

		$this->template->add_js('system/usuario/listar.js');
		$this->template->write_view('content', 'usuario/listar_view');
		$this->template->render();
	}

	public function cadastro($usuario_id = 'novo')
	{	
		$this->load->model('estado_model', 'estado');

		$dados = array(
			'titulo' => 'CADASTRAR USUÁRIO'
		);

		// UF
		$dados['option_uf'] = $this->estado->estado_option(TRUE);

		if ((int) $usuario_id > 0)
			$dados['titulo'] = 'ATUALIZAR USUÁRIO';

		$this->template->add_js('system/usuario/cadastro.js');
		$this->template->write_view('content', 'usuario/cadastro_view', $dados);
		$this->template->render();	
	}

	/*===== AJAX ====*/
	public function agrid_usuario()
	{	
		$this->load->model('usuario_model');

		$limite = $this->input->post('iDisplayLength');
		$start  = $this->input->post('iDisplayStart');
		$sort   = $this->input->post('iSortCol_0');
		$order  = $this->input->post('sSortDir_0');

		switch ($sort) {
			case 1:
				$sort_field = 'u.us_id';
				break;
			case 2:
				$sort_field = 'u.us_login';
				break;
			case 3:
				$sort_field = 'u.us_nome';
				break;
			case 4:
				$sort_field = 'p.pr_nome';
				break;
			case 5:
				$sort_field = 'u.us_status';
				break;
			break;
			default:
				$sort_field = 'u.us_nome';
				break;
		}
		
		$usuario = new Usuario_model();
		$us = $usuario->get_to_grid($sort_field, $order, $start, $limite, $this->input->post());

		$resp['iTotalRecords']        = $us['total'];
		$resp['iTotalDisplayRecords'] = $us['total'];

		$resp['aaData'] = array();
		$indice = 0;
		foreach ($us['result'] as $row)
		{
			$j = 0;

			$resp['aaData'][$indice][$j++] = '<input type="checkbox" name="check_iten[]" value="'.$row->us_id.'" />';
			$resp['aaData'][$indice][$j++] = $row->us_id;
			$resp['aaData'][$indice][$j++] = $row->us_login;
			$resp['aaData'][$indice][$j++] = $row->us_nome;			
			$resp['aaData'][$indice][$j++] = $row->pr_nome;
			$resp['aaData'][$indice][$j++] = $row->us_agente;
			$resp['aaData'][$indice][$j++] = $this->load->view('status/btn_status_view', array('status' => $row->us_status), TRUE);			

			$indice++;
		}

		echo json_encode($resp);	
	}

	public function acadastrar_usuario() 
	{
		
	}

	public function amuda_status_usuario()
	{
		$post = array();
		$resp = array();
		// Valores vindos do form dentro do array
		parse_str($this->input->post('form'), $post);

		$this->load->model('usuario_model');
		$usuario = new Usuario_model();

		$count_usuarios_alterados = $usuario->change_status($this->input->post('new_status'), $post['check_iten']);

		$resp['erro'] = 0;
		$resp['msg_status'] = 'Alterado status de ' . $count_usuarios_alterados . ' usuário(s).';

		echo json_encode($resp);
	}	
	/*===== ====*/

}